home *** CD-ROM | disk | FTP | other *** search
- Path: informatik.tu-muenchen.de!fischerj
- From: fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: doubling pixels horizontally
- Date: 29 Feb 1996 15:49:57 GMT
- Organization: Technische Universitaet Muenchen, Germany
- Distribution: world
- Message-ID: <4h4hv5$mnn@sunsystem5.informatik.tu-muenchen.de>
- References: <4f4ibc$gl9@news.cs.tu-berlin.de> <591.6610T1165T2102@login.eunet.no><1045.6611T753T2256@vip.cybercity.dk><4faoe1$47@sunsystem5.informatik.tu-muenchen.de><2991.6612T1034T625@vip.cybercity.dk><576.6613T1070T1730@login.eunet.no><1257.6614T57T922@vip.cybercity.dk> <1982.6617T1096T103@ifi.uio.no> <4gbjg3$104@sunsystem5.informatik.tu-muenchen.de> <4518.6625T1142T92@ifi.uio.no>
- NNTP-Posting-Host: hphalle2i.informatik.tu-muenchen.de
- Originator: fischerj@hphalle2i.informatik.tu-muenchen.de
-
-
- In article <4518.6625T1142T92@ifi.uio.no>, ludvigp@ifi.uio.no (Ludvig Pedersen) writes:
-
-
- |> Please not, I have seen enough of rotzoomer!! :-)
-
- except the sanity 1x1 one and the lemon 4x4 one in Rink a Dink :)
- I didn't see much good ones... maybe the one in full moon/VD.
-
- |> >Well, both scrambled & linear, 2pass or 3pass.
- |> Yes that was the problem. It went 25 fps in linear mode.
-
- no. 33fps, hehe! :)
-
- |> Having many instructions on screen don't give us more overview but more MESS!
- |> (Try another screenmode instead)
- |>
- |> Actually I think it is important to have a litte "air" in between! :-)
- |>
- |>
- |> Here is a small piece of *your* code:
-
- wow my code! mama, I'm on TV :) (quoting a demo :)
-
- |>
- |> * PLANES
- |> movem.l d0-d7/a1-a6,-(sp) ;a0=(ptr)copl
- |> move.l d4,mfpoffs : ext.l d5 : move.l d5,mfloffs
- |> * gen planeptr moves
- |> movem.l d3/d0,-(sp)
- |> move.w #$00e0,d3 : move.w #4-1,d7
- |> mf256genhi:
- |> move.w d3,(a0)+ : addq.w #2,d3 : move.l d0,(a0)+ ;store hiwd ! -2(a0)
-
- The idea: this 3 instructions belong together, writing 1 copper
- instruction lonword. more structure (for my eyes).
-
- and the "store hi word" trick isn't bad either imho :)
- nothing exceptionell though...
-
- |> move.w d3,-2(a0) : addq.w #2,d3 : move.w d0,(a0)+ ;store lowd
- |> ;every 2nd plane same data
- |> move.w d3,(a0)+ : addq.w #2,d3 : move.l d0,(a0)+ ;store hiwd ! -2(a0)
- |> move.w d3,-2(a0) : addq.w #2,d3 : move.w d0,(a0)+ ;store lowd
- |> add.l mfpoffs,d0
- |> dbra d7,mf256genhi
- |> * end gen ptrs
- |> movem.l (sp)+,d3/d0
- |> and.l #$ff,d2 : sub.b #1,d2 : ror.l #8,d2 ;sub #1: prev line
- |> move.l #$00e1fffe,d4 : or.l d2,d4 ;WAS: 00df
- |> *
- |> move.w d3,d5
- |> subq.w #1,d5
- |> mf256yanz:
- |> move.l #$1020010,d7
- |> move.w #2-1,d6
- |> mf256do2:
- |> move.l d4,(a0)+ : add.l #$01000000,d4 ;cwait
- |> move.l d7,(a0)+ : eor.l #$00000031,d7 ;horiz shift
- |> ; ^---- 3: 1 -> 2 -> 1 -> 2 ....
- |> dbra d6,mf256do2
- |> add.l mfloffs,d0
- |> dbra d5,mf256yanz
- |> movem.l (sp)+,d0-d7/a1-a6 ;a0=(ptr)copl
- |> rts
- |>
- |> Its quiet unreadable in my opinion.
-
- AND THE READBLE VERSION WOULD HAVE TAKEN 3 PAGES INSTEAD OF ONE!
-
- Maybe I'm the only one but I can read/build code much better that way.
- And I could read my code well :)
-
- |> >I would be happy if we could get a 3pass almost at copy speed.
- |> >(well copy speed, that's 7mb/sec on 030 ? or are we refering to
- |> >the 4mb/sec on 020-14 ?)
- |> On my A1200 7mb/sec is not copy speed but chip write speed.
-
- mhm, all people told me the blizzard will _copy_ 7mb/sec.
- a myth ?
-
- |>
- |> I did a simple test and I was able to copy 4.9mb/sec from fastram to chipram
- |> on a 256 colors screen.
-
- what size ? overscan, 320x256,320x200 ? pal ?
- :)
-
- |> I don't get it??? ;) It is optimal. That was actually VERY easy. Remeber that
- |> we are taking about 2x2 without sprite-dithering!!
-
- either you misuse a plane as mask, so 128 colors only, or the 2x2
- routine is slower than 3pass, i.e. not optimal :)
-
- |> >I currently got problems with my way of calling qblit. You got a demo
- |> >executable ? Mine locks up with small OS-blits :\
- |>
- |> I don't have that problem. You can look at the source. It will be released
-
- didn't test it yet, but seems that peter found the bug:
- I busywait for qblit ready (normaly it is ready).
- So another lower pri task can't disown blitter.
-
- |> this week.
- |>
- |> BTW:
- |>
- |> fASTERblIT(FBL) makes the CPU hang after a QBlit(). If you are using this
- |> patch thats the error.
-
- mhm no, never heard of it, I use cpublit, but no interference yet.
-
- |>
- |>
- |>
- |> <sb>Ludde - Amiga Demo Coder
- |> <sb>Virtual Reality & Official Be developer
- |> <sb>ludvigp@ifi.uio.no
- |>
- ------------------------------------------------------------------------
- fischerj@Informatik.TU-Muenchen.DE (Juergen "Rally" Fischer) =:)
-
-